BookStack 知識庫系統部署
1. 核心架構與環境變數重大變更 (Breaking Changes)
-
儲存模型:BookStack 的文章內容、使用者權限與頁面中繼資料存於 MariaDB / MySQL;圖片、附件與上傳檔案則儲存於檔案系統目錄(
/config/www/storage)。 -
LinuxServer 變數更名陷阱:
-
LinuxServer.io 映像檔已逐步統一資料庫環境變數命名規範,與 Laravel 預設變數對齊:
-
舊版參數:
DB_USER/DB_PASS -
新版強制參數:
DB_USERNAME/DB_PASSWORD
-
-
若沿用舊範例,容器初始化時將抓取空值,導致容器反覆噴出
Database connection error: SQLSTATE[HY000] [1045] Access denied。
-
-
APP_URL嚴格限制:-
Laravel 框架底層強烈依賴
APP_URL來生成靜態資源(CSS / JS)與頁面重定向超連結。 -
若走 HTTPS 反向代理,
APP_URL必須嚴格包含https://與完整網域名稱(不可留空或填http://localhost),否則會造成前端載入 Mixed Content 破版、登入 CSRF Token 驗證失敗或無限循環導向。
-
2. Docker Compose 部署配置 (整合 Traefik v3)
部署採用 Traefik v3 進行邊界 SSL 終止,後端容器完全不對外映射 Host Port,統一經由共用的外部 Docker 網路通訊。